/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logic;

import java.io.*;
import java.util.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Ramiro
 */
public class EscritorArchivoResultadosConv {

    private String ruta;
    private File directorio;

    public EscritorArchivoResultadosConv(String ruta) {
        super();
        this.ruta = ruta;

    }

    /*
     * Función para guardar el contenido de la matriz en un archivo de texto plano
     */
    public String GuardarArchivo(String nombrePPF, String campo1, String campo2, String campo3) throws IOException {

        FileWriter fichero = null;
        PrintWriter pw = null;
        String nombreArchivo = nombrePPF.replace(".txt", "_Gamma.txt");

        try {
            directorio = new File(ruta + "/Otros");
            if (directorio.exists()) {
                fichero = new FileWriter(this.directorio + "/" + nombreArchivo);//guardo el archivo en la carpeta donde esta el MLC original
                pw = new PrintWriter(fichero);
            } else {
                directorio.mkdir();
                fichero = new FileWriter(this.directorio + "/" + nombreArchivo);//guardo el archivo en la carpeta donde esta el MLC original
                pw = new PrintWriter(fichero);
            }
            this.imprimirDatos(nombreArchivo, campo1, campo2, campo3, pw);

        } catch (IOException e) {
            throw e;
        } finally {
            try {
                // Nuevamente aprovechamos el finally para 
                // asegurarnos que se cierra el fichero.
                if (null != fichero) {
                    fichero.close();
                }

            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return nombreArchivo;
    }

    /*
     * Imprime cada vector de datos de la matriz en forma vertical, directamente en el archivo.
     */
    public void imprimirDatos(String nombreArchivo, String campo1, String campo2, String campo3, PrintWriter pw) {

        int index = nombreArchivo.indexOf("_Gamma");
        pw.println(nombreArchivo.substring(index - 2, index));
        pw.println(campo1);
        pw.println(campo2);
        pw.println(campo3);

    }
}
